package nio.channel;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * 通过管道将文字写入文件中
 */
public class FileChannel1 {
    public static void main(String[] args) throws IOException {
        String string = "刘牌，你好";
        /**
         * 输出流
         */
        FileOutputStream fileOutputStream = new FileOutputStream("e:\\file.txt");
        /**
         * 获取文件对应的channel(管道)
         */
        FileChannel fileChannel = fileOutputStream.getChannel();
        /**
         * 创建一个缓冲区并分配空间大小
         */
        ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
        /**
         * 将数据写入buffer
         */
        byteBuffer.put(string.getBytes());
        /**
         * 读写反转
         */
        byteBuffer.flip();
        /**
         * 写入到channel
         */
        fileChannel.write(byteBuffer);
        /**
         * 关闭流
         */
        fileOutputStream.close();
    }

}
